home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
newsgroups
/
misc.20000114-20000217
/
000194_news@columbia.edu _Thu Feb 3 18:59:59 2000.msg
< prev
next >
Wrap
Internet Message Format
|
2020-01-01
|
3KB
Return-Path: <news@columbia.edu>
Received: from newsmaster.cc.columbia.edu (newsmaster.cc.columbia.edu [128.59.59.30])
by watsun.cc.columbia.edu (8.8.5/8.8.5) with ESMTP id SAA27744
for <kermit.misc@watsun.cc.columbia.edu>; Thu, 3 Feb 2000 18:59:58 -0500 (EST)
Received: (from news@localhost)
by newsmaster.cc.columbia.edu (8.8.5/8.8.5) id SAA01208
for kermit.misc@watsun.cc.columbia.edu; Thu, 3 Feb 2000 18:42:03 -0500 (EST)
X-Authentication-Warning: newsmaster.cc.columbia.edu: news set sender to <news> using -f
From: fdc@watsun.cc.columbia.edu (Frank da Cruz)
Subject: Case Study #18: File Timestamps and Permissions
Date: 3 Feb 2000 23:42:02 GMT
Organization: Columbia University
Message-ID: <87d3oa$15l$1@newsmaster.cc.columbia.edu>
To: kermit.misc@columbia.edu
Ever since the late 1980s, the popular Kermit programs have been able to
send a file's timestamp along with the file, allowing the receiver to give
the incoming file the same timestamp as the original. This is not just a
frill. It can also be a useful feature when used in conjunction with SET
FILE COLLISION UPDATE.
In case you didn't know about this feature (which is not new at all),
suppose you have MS-DOS Kermit or Kermit 95 on a PC connected to a UNIX or
VMS system that has C-Kermit. And suppose you have a directory on the PC
containing many files that you work on each day, and you want to back them
up periodically to the UNIX or VMS system (whose file system, in turn, is
backed up to tape for disaster recovery).
Obviously you could send all the files every day, but if your connection
is slow and/or the files are large and/or many, this could be tedious and
wasteful. So just tell the Kermit receiver to:
SET FILE COLLISION UPDATE
This means: if a file arrives that has the same name as an existing file,
the receiver is to refuse the incoming file if its timestamp is not newer
the existing file's. So now if your "send *.*" command matches 200 files,
you don't have to bother about which ones were changed and which were not;
only the ones that were changed are transferred, the rest are skipped
automatically.
C-Kermit 7.0 also transmits a new piece of information about each file: its
"protection code" or "permissions". This is mainly the solve the annoying
problem in which execute permission was lost when transferring from Unix to
Unix. Now if you use two copies of C-Kermit to transfer a Unix executable
from one Unix system to another, you no longer have to "chmod +x" the result
before you can run it.
This new feature works across platforms too; for example, between Unix and
VMS. If you use C-Kermit 7.0 to send a UNIX executable to VMS and from VMS
back to another Unix system, it keeps its execute permission every step of
the way.
Preservation of timestamps and permissions is another feature you won't
find in other cross-platform data transfer protocols like FTP. When
combined with Kermit's new automatic per-file text/binary-mode switching
and recursive directory traversal capability, you can produce a remarkable
facsimile of a directory tree and all its files from one computer to
another, even if they are different operating systems (but obviously
permissions are lost if one of the OS's -- e.g. DOS or Windows -- does not
have a file system that supports them).
Combine all of this with SET FILE COLLISION UPDATE, and you have the classic
incremental backup.
- Frank